home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-04-24 | 4.1 KB | 117 lines |
- 5 REM * BIORHYTHM PROGRAM *
- 10 WIDTH "lpt1:",132
- 20 REM FROM INTERFACE AGE, AUGUST, 1976
- 30 REM EDITED & TESTED BY JIM PETERSEN ON 89/27/78
- 40 REM %% PROGRAM COMPUTES HOW CERTAIN PERSON WILL FEEL PHYSICALLY,
- 50 REM EMOTIONALLY AND INTELLECTUALLY ON ANY DAY %%
- 60 DIM A(12),M$(12)
- 70 DATA 0,31,59,90,120,151,181,212,243,273,304,334
- 80 FOR I=1 TO 12:READ A(I):NEXT
- 90 PI=3.14159
- 100 CLS:REM Screen clear character
- 110 PRINT:PRINT
- 120 PRINT "This program will print out your personal BIO-RHYTHM"
- 130 PRINT "analysis for any number of days you select."
- 140 PRINT "Dates should be entered in numerical form with the"
- 150 PRINT "MONTH, DAY and YEAR separated by commas. I. E."
- 160 PRINT "July 4, 1976 would be entered as 7,4,76."
- 170 PRINT
- 180 INPUT "How many days do you want plotted";S
- 190 IF S<=0 THEN 180
- 200 PRINT "What is the date at which you would like the";S;"day"
- 210 INPUT "analysis to start";M,D,Y
- 220 S=S-1
- 230 M=INT(M):D=INT(D):Y=INT(Y)
- 240 INPUT "What is the date of your birth";MB,DB,YB
- 250 MB=INT(MB):DB=INT(DB):YB=INT(YB)
- 260 INPUT "What is your name";A$
- 280 INPUT "Do you want it on hard copy";HC$
- 290 IF HC$="Y" OR HC$="y" THEN P=-1
- 300 DEF FNI(X)=INT(20*SIN(2*PI*X/33)+0.5)
- 310 DEF FNE(X)=INT(20*SIN(2*PI*X/28)+0.5)
- 320 DEF FNP(X)=INT(20*SIN(2*PI*X/23)+0.5)
- 330 T=INT(D+365.25*Y+A(M)+0.01*M-0.03)
- 340 TB=INT(DB+365.25*YB+A(MB)+0.01*MB-0.03)
- 350 X=T-TB
- 360 V=INT((40-LEN(A$))/2)
- 370 RB=TB-1-INT((TB-1)/7)*7
- 380 DATA MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
- 390 FOR I=0 TO 6:READ DAY$(I):NEXT
- 400 DATA MON,TUE,WED,THU,FRI,SAT,SUN
- 410 FOR I=0 TO 6:READ D$(I):NEXT
- 420 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST
- 430 PRINT:PRINT
- 440 DATA SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER
- 450 FOR I=1 TO 12:READ M$(I):NEXT
- 455 IF P THEN LPRINT SPC(2):FOR I=1 TO V:LPRINT "*";:NEXT
- 460 PRINT SPC(2):FOR I=1 TO V:PRINT "*";:NEXT
- 470 COLOR 8,7:PRINT "BIO-RHYTHM ANALYSIS FOR ";A$;:COLOR 7,0
- 475 IF P THEN LPRINT "BIO-RHYTHM ANALYSIS FOR ";A$;
- 480 PRINT "*";:IF POS(0)<66 THEN 480
- 485 IF P THEN LPRINT "*************************";
- 490 PRINT:PRINT
- 495 IF P THEN LPRINT:LPRINT
- 500 R=T-1-INT((T-1)/7)*7
- 510 LE=21+LEN(DAY$(R))+LEN(M$(M))+LEN(STR$(D))+LEN(RIGHT$(STR$(Y),2))
- 520 V2=INT((64-LE)/2)
- 530 PRINT SPC(2):FOR I=1 TO V2:PRINT "*";:NEXT
- 535 IF P THEN LPRINT SPC(2):FOR I=1 TO V2:LPRINT "*";:NEXT
- 540 COLOR 8,7:PRINT "STARTING DATE: ";DAY$(R);", ";M$(M);STR$(D);", 19";
- 545 IF P THEN LPRINT "STARTING DATE: ";DAY$(R);", ";M$(M);STR$(D);", 19";
- 550 PRINT RIGHT$(STR$(Y),2);:COLOR 7,0
- 555 IF P THEN LPRINT RIGHT$(STR$(Y),2);
- 560 PRINT "*";:IF POS(0)<66 THEN 560
- 565 IF P THEN LPRINT "*****************";
- 570 PRINT:PRINT
- 575 IF P THEN LPRINT:LPRINT
- 580 LL=LEN(DAY$(RB))+LEN(M$(MB))+LEN(STR$(DB))+LEN(RIGHT$(STR$(YB),2))
- 590 LB=LL+18
- 600 VB=INT((64-LB)/2)
- 610 PRINT SPC(2):FOR I=1 TO VB:PRINT "*";:NEXT
- 615 IF P THEN LPRINT SPC(2):FOR I=1 TO VB:PRINT "*";:NEXT
- 620 COLOR 8,7:PRINT "BIRTH DATE: ";DAY$(RB);", ";M$(MB);STR$(DB);", 19";
- 625 IF P THEN LPRINT "*************** BIRTH DATE: ";DAY$(RB);", ";M$(MB);STR$(DB);", 19";
- 630 PRINT RIGHT$(STR$(YB),2);:COLOR 7,0
- 635 IF P THEN LPRINT RIGHT$(STR$(YB),2);
- 640 PRINT "*";:IF POS(0)<66 THEN 640
- 645 IF P THEN LPRINT "****************"
- 650 PRINT:PRINT:PRINT
- 655 IF P THEN LPRINT:LPRINT:LPRINT
- 660 PRINT TAB(20);"DOWN",TAB(39);"CRITICAL",TAB(62);"UP"
- 665 IF P THEN LPRINT TAB(20);"DOWN",TAB(39);"CRITICAL",TAB(62);"UP"
- 670 PRINT D$(R);D;M$(M);
- 675 IF P THEN LPRINT D$(R);D;M$(M);
- 680 F(0)=42:F$(0)="*"
- 690 F(1)=42+FNI(X):F$(1)="I"
- 700 F(2)=42+FNE(X):F$(2)="E"
- 710 F(3)=42+FNP(X):F$(3)="P"
- 720 FOR I=0 TO 2
- 730 FOR J=I+1 TO 3
- 740 IF F(I)<F(J) THEN 790
- 750 IF F(I)=F(J) THEN F(I)=0:F$(I)="":F$(J)="X":GOTO 790
- 760 Q=F(I):Q$=F$(I)
- 770 F(I)=F(J):F$(I)=F$(J)
- 780 F(J)=Q:F$(J)=Q$
- 790 NEXT J:NEXT I
- 800 FOR I=0 TO 3
- 810 PRINT TAB(F(I));F$(I);
- 815 IF P THEN LPRINT TAB(F(I));F$(I);
- 820 NEXT
- 830 PRINT:X=X+0.5:IF P THEN LPRINT
- 835 IF INT(X)<>X THEN 680
- 840 IF Z=S THEN 940
- 850 R=R+1:IF R=7 THEN R=0
- 860 D=D+1:IF M=4 OR M=6 OR M=9 OR M=11 THEN L=30:GOTO 900
- 870 IF M=2 AND Y/4=INT(Y/4) THEN L=29:GOTO 900
- 880 IF M=2 THEN L=28:GOTO 900
- 890 L=31
- 900 IF D>L THEN D=D-L:M=M+1:GOTO 920
- 910 PRINT D$(R);D;:IF P THEN LPRINT D$(R);D;:Z=Z+1:GOTO 680
- 920 IF M=13 THEN M=1:Z=Z+1:GOTO 670
- 930 Z=Z+1:IF D=1 THEN GOTO 670 ELSE GOTO 680
- 940 PRINT:PRINT
- 945 IF P THEN LPRINT:LPRINT
- 950 IF P THEN LPRINT CHR$(12)
- 960 INPUT "Do you want another Biorhythm";A$:IF LEFT$(A$,1)="Y" OR LEFT$(A$,1)="y" THEN CLEAR 2000:P=0:GOTO 60
- 970 END
-